package modelo;

public class Registrador extends Thread {
	private int entrada[] = new int[16];
	private int saida[] = new int[16];
	private int linhaDeControle = 0;
	private SMailbox canalEntrada = new SMailbox();
	private SMailbox canalSaida = new SMailbox();
	private SMailbox canalControle = new SMailbox();
	private int quantidadeDeMsgAEnviar;
	
	public Registrador(SMailbox canalEntrada, SMailbox canalSaida, SMailbox canalControle,int quantSaida){
		this.canalEntrada = canalEntrada;
		this.canalSaida = canalSaida;
		this.canalControle = canalControle;
		this.quantidadeDeMsgAEnviar = quantSaida;
	}
	public void setEntrada(int entrada[]) {
		this.entrada = entrada;
	}
	public void setSaida(int saida[]) {
		this.saida = saida;
	}
	public int[] getSaida() {
		return saida;
	}
	public void setLinhaDeControle(int linhaDeControle) {
		this.linhaDeControle = linhaDeControle;
	}
	
	public void atualizacao(){
		if(linhaDeControle==1){
			saida=entrada;
		}
	}
	public void run(){
		entrada = (int[]) canalEntrada.receive();
		linhaDeControle = (Integer) canalControle.receive();
		atualizacao();
		for(int i=0; i<quantidadeDeMsgAEnviar;i++){
			canalSaida.send(saida);
		}
    }

}
